package it.sebsibenal.client;

import it.sebsibenal.shared.Operazione;
import it.sebsibenal.shared.Song;

import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 * The async counterpart of <code>GreetingService</code>.
 */
public interface GreetingServiceAsync {
	void greetServer(String input, AsyncCallback<String> callback)
			throws IllegalArgumentException;

	void getSongs(AsyncCallback<List<Song>> callback);

	void saveSong(Song song, Operazione operazione, AsyncCallback<Song> callback);

	void removeYoutubeLink(String link, Song song, AsyncCallback<Song> callback);

	void addYoutubeLink(String link, Song selectedSong, AsyncCallback<Song> saveCallback);

	void addComment(String string, Song selectedSong, AsyncCallback<Song> saveCallback);

	void aggiungiCartella(String text, AsyncCallback<Song> saveCallback);

	void elencoCartelle(AsyncCallback<String> asyncCallback);
}
